Manager: Menu Manager



With the exception of the InitProcMenu function, Carbon will fully support the Menu Manager. To ensure that your application can most easily take advantage of future enhancements to the Mac OS, Apple suggests that you consider the following points:

* You are strongly encouraged to adopt the standard Mac OS 8 menu definition procedures (also known as MDEFs) in your application. Your menus will then inherit the systemwide appearance and, furthermore, take advantage of other Menu Manager enhancements planned for the future. Note, however, that if you must use custom menu definition procedures, you must compile them as PowerPC-native code.

* Your application must use the functions defined by the Menu Manager whenever it creates and disposes of Menu Manager data structures. Some applications, for example, create menus by using the Resource Manager function GetResource (instead of the Menu Manager function GetMenu) and dispose of them by calling ReleaseResource instead of DisposeMenu.

* You should revise your application so that it accesses the data structures defined by the Menu Manager only through accessor functions to be provided soon. The use of these accessor functions will give your application greater threading flexibility in Mac OS X.

* There are several Menu Manager functions that deal with manipulating menu color information tables. Apple recommends that you stop using them. The Appearance Manager generally disregards these color tables and instead uses the colors defined for the current appearance.

 AppendMenu

 appendmenu

Use AppendMenu instead.

 AppendMenuItemText

 AppendResMenu

 CalcMenuSize

 CheckItem

 ClearMenuBar

 ContextualMenuSelect

 CountMItems

 DeleteMCEntries

DeleteMCEntries does nothing, because Appearance Manager doesn't use color tables.

 DeleteMenu

 DeleteMenuItem

 DisableItem

 DisableMenuItem

 DisableMenuItemIcon

 DisposeMCInfo

DisposeMCInfo does nothing, because Appearance Manager doesn't use color tables.

 DisposeMenu

 DrawMenuBar

 EnableItem

 EnableMenuItem

 EnableMenuItemIcon

 FlashMenuBar

 GetItemCmd

 GetItemIcon

 GetItemMark

 GetItemStyle

 GetMBarHeight

 GetMCEntry

GetMCEntry does nothing, because Appearance Manager doesn't use color tables.

 GetMCInfo

GetMCInfo does nothing, because Appearance Manager doesn't use color tables.

 GetMenu

 GetMenuBar

 GetMenuExcludesMarkColumn

 GetMenuFont

 GetMenuHandle

 GetMenuItemCommandID

 GetMenuItemFontID

 GetMenuItemHierarchicalID

 GetMenuItemIconHandle

 GetMenuItemKeyGlyph

 GetMenuItemModifiers

 GetMenuItemProperty

 GetMenuItemPropertySize

 GetMenuItemRefCon

 GetMenuItemRefCon2

 GetMenuItemText

 getmenuitemtext

Use GetMenuItemText instead.

 GetMenuItemTextEncoding

 GetNewMBar

 HideMenuBar

 HiliteMenu

 InitContextualMenus

 InitMenus

InitMenus does nothing. There is no need to initialize the Menu Manager, because the shared library gets loaded as needed.

 InitProcMenu

You must use the standard menu bar definition function (MBDF).

 InsertFontResMenu

 InsertIntlResMenu

 InsertMenu

 InsertMenuItem

 insertmenuitem

Use InsertMenuItem instead.

 InsertMenuItemText

 InsertResMenu

 InvalMenuBar

 IsMenuBarVisible

 IsMenuItemEnabled

 IsMenuItemIconEnabled

 IsShowContextualMenuClick

 MenuChoice

 MenuEvent

 MenuKey

 MenuSelect

 menuselect

Use MenuSelect instead.

 NewMenu

 newmenu

Use NewMenu instead.

 PopUpMenuSelect

 ProcessIsContextualMenuClient

 RemoveMenuItemProperty

 SetItemCmd

 SetItemIcon

 SetItemMark

 SetItemStyle

 SetMCEntries

SetMCEntries does nothing, because Appearance Manager doesn't use color tables.

 SetMCInfo

SetMCInfo does nothing, because Appearance Manager doesn't use color tables.

 SetMenuBar

 SetMenuExcludesMarkColumn

 SetMenuFlash

In the future, the Appearance Manager may control menu-flashing behavior.

 SetMenuFont

 SetMenuItemCommandID

 SetMenuItemFontID

 SetMenuItemHierarchicalID

 SetMenuItemIconHandle

 SetMenuItemKeyGlyph

 SetMenuItemModifiers

 SetMenuItemProperty

 SetMenuItemRefCon

 SetMenuItemRefCon2

 SetMenuItemText

 setmenuitemtext

Use SetMenuItemText instead.

 SetMenuItemTextEncoding

 ShowMenuBar

 SystemEdit

 SystemMenu

[Table of Contents] [Function Index]

Generated on: 7/20/98. Copyright 1998 Apple Computer, Inc. All rights reserved.